import { ipcMain } from 'electron'
import { applyMiddle } from './middle'
import { pingPongHandlers } from './handlers/pingPong'

/**
 * 注册所有IPC事件处理程序
 */
const allHandlers = {
  ...pingPongHandlers
}

/**
 * 注册所有IPC事件处理程序
 */
export function registerIpcHandlers() {
  Object.entries(allHandlers).forEach(([channel, handler]) => {
    // 包装中间件
    const wrappedHandler = applyMiddle(handler, channel)
    // 注册IPC事件
    ipcMain.handle(channel, wrappedHandler)
  })
}
